home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML Instance.sea / XML Instance / Required / ccs_util.jar / regex / Chars.class (.txt) next >
Encoding:
Java Class File  |  1999-12-09  |  2.2 KB  |  142 lines

  1. package regex;
  2.  
  3. class Chars {
  4.    public static final int EMPTY = 0;
  5.    public static final int CHARACTER = 1;
  6.    public static final int LINE_HEAD = 2;
  7.    public static final int LINE_TAIL = 3;
  8.    public static final int NONE = 4;
  9.    private char begin;
  10.    private char end;
  11.    private int type;
  12.  
  13.    public char begin() {
  14.       return this.begin;
  15.    }
  16.  
  17.    public char end() {
  18.       return this.end;
  19.    }
  20.  
  21.    public void set(char var1, char var2) {
  22.       this.begin = var1;
  23.       this.end = var2;
  24.    }
  25.  
  26.    public void setEnd(char var1) {
  27.       this.end = var1;
  28.    }
  29.  
  30.    public boolean hasChars(Chars var1) {
  31.       if (this.type == 4) {
  32.          return false;
  33.       } else {
  34.          return this.begin <= var1.begin() && var1.begin() <= this.end || this.begin <= var1.end() && var1.end() <= this.end;
  35.       }
  36.    }
  37.  
  38.    private Chars() {
  39.    }
  40.  
  41.    public Chars(char var1) {
  42.       this(var1, var1);
  43.    }
  44.  
  45.    public Chars(char var1, char var2) {
  46.       this.begin = var1;
  47.       this.end = var2;
  48.       this.type = 1;
  49.    }
  50.  
  51.    public Chars(int var1) {
  52.       this.type = var1;
  53.    }
  54.  
  55.    public String toString() {
  56.       String var1 = "";
  57.       switch (this.type) {
  58.          case 0:
  59.             var1 = "EMPTY";
  60.             break;
  61.          case 1:
  62.             if (this.begin == this.end) {
  63.                var1 = "'" + this.escape(this.begin) + "'";
  64.             } else {
  65.                var1 = "'" + this.escape(this.begin) + "-" + this.escape(this.end) + "'";
  66.             }
  67.             break;
  68.          case 2:
  69.             var1 = "LHEAD";
  70.             break;
  71.          case 3:
  72.             var1 = "LTAIL";
  73.             break;
  74.          case 4:
  75.             var1 = "NONE";
  76.       }
  77.  
  78.       return var1;
  79.    }
  80.  
  81.    public int type() {
  82.       return this.type;
  83.    }
  84.  
  85.    public boolean equals(Object var1) {
  86.       if (var1 != null && var1 instanceof Chars) {
  87.          Chars var2 = (Chars)var1;
  88.          if (this.type != 1) {
  89.             return this.type == var2.type;
  90.          } else {
  91.             return this.begin == var2.begin && this.end == var2.end;
  92.          }
  93.       } else {
  94.          return false;
  95.       }
  96.    }
  97.  
  98.    public void setType(int var1) {
  99.       this.type = var1;
  100.    }
  101.  
  102.    public boolean has(char var1) {
  103.       if (this.type == 4) {
  104.          return false;
  105.       } else {
  106.          return this.begin <= var1 && var1 <= this.end;
  107.       }
  108.    }
  109.  
  110.    public void setBegin(char var1) {
  111.       this.begin = var1;
  112.    }
  113.  
  114.    public boolean isEmpty() {
  115.       return this.type == 0;
  116.    }
  117.  
  118.    private String escape(char var1) {
  119.       String var2;
  120.       switch (var1) {
  121.          case '\b':
  122.             var2 = "\\b";
  123.             break;
  124.          case '\t':
  125.             var2 = "\\t";
  126.             break;
  127.          case '\n':
  128.             var2 = "\\n";
  129.             break;
  130.          case '\u000b':
  131.          case '\f':
  132.          default:
  133.             var2 = (new Character(var1)).toString();
  134.             break;
  135.          case '\r':
  136.             var2 = "\\r";
  137.       }
  138.  
  139.       return var2;
  140.    }
  141. }
  142.